package in.rob.client;
import android.test.AndroidTestCase;
import junit.framework.Assert;
import in.lib.utils.BitUtils;
public class BitTest extends AndroidTestCase
{
public void testBitCheck()
{
/* OPTIONS = 0b00000011
* BIT_1 = 0b00000001
* BIT_2 = 0b00000010
* BIT_3 = 0b00000100
*/
int OPTIONS = 0x3;
int BIT_1 = 0x1;
int BIT_2 = 0x2;
int BIT_3 = 0x4;
Assert.assertEquals(true, BitUtils.contains(OPTIONS, BIT_1));
Assert.assertEquals(true, BitUtils.contains(OPTIONS, BIT_2));
Assert.assertEquals(true, BitUtils.contains(OPTIONS, BIT_1, BIT_2));
Assert.assertEquals(false, BitUtils.contains(OPTIONS, BIT_3));
}
public void testAndBit()
{
/* BIT_1 = 0b00000001
* BIT_2 = 0b00000010
* BIT_3 = 0b00000100
* OUTPUT = 0b00000000
*/
int BIT_1 = 0x1;
int BIT_2 = 0x2;
int BIT_3 = 0x4;
Assert.assertEquals(0x0, BitUtils.and(BIT_1, BIT_2, BIT_3));
Assert.assertEquals(BIT_1, BitUtils.and(BIT_1, BIT_1));
}
public void testOrBit()
{
/* BIT_1 = 0b00000001
* BIT_2 = 0b00000010
* BIT_3 = 0b00000100
* OUTPUT = 0b00000111
*/
int BIT_1 = 0x1;
int BIT_2 = 0x2;
int BIT_3 = 0x4;
Assert.assertEquals(0x7, BitUtils.or(BIT_1, BIT_2, BIT_3));
Assert.assertEquals(BIT_1, BitUtils.or(BIT_1, BIT_1));
Assert.assertEquals(0x0, BitUtils.or(0x0, 0x0));
}
public void testXorBit()
{
/* BIT_1 = 0b00000001
* BIT_2 = 0b00000010
* BIT_3 = 0b00000100
* OUTPUT = 0b00000111
*/
int BIT_1 = 0x1;
int BIT_2 = 0x2;
int BIT_3 = 0x4;
Assert.assertEquals(0x0, BitUtils.xor(0x0, 0x0));
Assert.assertEquals(BIT_1, BitUtils.xor(0x0, BIT_1));
Assert.assertEquals(0x0, BitUtils.xor(BIT_1, BIT_1));
Assert.assertEquals(0x7, BitUtils.xor(BIT_1, BIT_2, BIT_3));
}
}